# File_IO_Demo_Read_File.py # # Description: Reading the content of a file in various ways. # # Author: Anne Lavergne # Last modified date: March 2024 def read_1_line_at_a_time(anInputFile): '''Reading (and printing) a line at a time from file "anInputFile".''' print("\nDemo 1 - Reading a line at a time from anInputFile.") # Opening a file for reading fileR = open(anInputFile, 'r') # Read its first line -> a string firstLine = fileR.readline() print("First line: ", firstLine) print(f"Data type of first line is '{type(firstLine)}'.") # Read its second line - file object "fileR" keeps track of # where it currently is in the file secondLine = fileR.readline() print("\nSecond line: " , secondLine) # Close the file fileR.close( ) return def read_1_line_using_for_loop(anInputFile): '''Reading (and printing) a line at a time from file "anInputFile" using a for loop.''' print("\nDemo 2 - Reading a line at a time from a file using a for loop.") # Opening a file for reading fileR = open(anInputFile, 'r') # Read a line at a time using a for loop for line in fileR: print(f"\nThe line read from the file is '{line}'.") print(f"Data type of first line is '{type(line)}'.") strippedLine = line.strip() print(f"The line once stripped is '{strippedLine}'.") # Close the file fileR.close( ) return def read_all_lines_into_a_list_v1(anInputFile): '''Reading (and printing) all lines from file "anInputFile" into a list.''' print("\nDemo 3 - Reading all lines from a file into a list - v1.") # Opening a file for reading fileR = open(anInputFile, 'r') # Read all lines from a file into a list myList1 = list(fileR) print("\nFirst list: ", myList1) print(f"Data type of the lines is '{type(myList1)}'.") # Close the file fileR.close( ) return def read_all_lines_into_a_list_v2(anInputFile): '''Reading (and printing) all lines from file "anInputFile" into a list.''' print("\nDemo 4 - Reading all lines from a file into a list - v2.") # Opening a file for reading fileR = open(anInputFile, 'r') # Read all lines from a file into a list myList2 = fileR.readlines( ) print("\nSecond list: ", myList2) print(f"Data type of the lines is '{type(myList2)}'.") # Close the file fileR.close( ) # *** Main part of program # Ask user to enter a filename ('words_7_a.txt') theInputFile = input("Please, enter a filename: ") # Demo 1 - Reading (and printing) a line at a time from a file ##read_1_line_at_a_time(theInputFile) # Demo 2 - Reading a line at a time from a file into a string read_1_line_using_for_loop(theInputFile) ### Demo 3 - Reading all lines from a file into a list - v1 ##read_all_lines_into_a_list_v1(theInputFile) ## ### Demo 4 - Reading all lines from a file into a list - v2 ##read_all_lines_into_a_list_v2(theInputFile)